package com.unitedvision.service;

import java.util.Date;
import java.util.List;

import javax.persistence.EntityNotFoundException;

import com.unitedvision.persistence.domain.CompanyCustomerEntity;
import com.unitedvision.persistence.domain.CompanyEntity;
import com.unitedvision.persistence.domain.OperatorEntity;
import com.unitedvision.persistence.domain.TransactionEntity;

public interface TransactionService {
	void save(TransactionEntity transaction);
	void delete(TransactionEntity transaction);
	TransactionEntity get(int id) throws EntityNotFoundException;
	List<TransactionEntity> getAll() throws EntityNotFoundException;
	List<TransactionEntity> getByOperator(OperatorEntity operator) throws EntityNotFoundException;
	List<TransactionEntity> getByCompany(CompanyEntity company) throws EntityNotFoundException;
	List<TransactionEntity> getByCompanyCustomer(CompanyCustomerEntity companyCustomer) throws EntityNotFoundException;
	List<TransactionEntity> getByTransactionDateAndCompany(Date transactionDate, CompanyEntity company) throws EntityNotFoundException;
	long count();
}
